package com.ruoyi.fun.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户浏览足迹对象 ec_user_browse_history
 * 
 * @author ruoyi
 * @date 2025-01-16
 */
public class EcUserBrowseHistory extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 浏览记录ID */
    private Long browseId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 用户名称 */
    @Excel(name = "用户名称")
    private String userName;

    /** 商品ID */
    @Excel(name = "商品ID")
    private Long productId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String productName;

    /** 商品图片 */
    @Excel(name = "商品图片")
    private String productImage;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private BigDecimal productPrice;

    /** 浏览时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "浏览时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date browseTime;

    /** 浏览时长(秒) */
    @Excel(name = "浏览时长(秒)")
    private Integer browseDuration;

    /** 设备类型(mobile/pc) */
    @Excel(name = "设备类型")
    private String deviceType;

    /** IP地址 */
    @Excel(name = "IP地址")
    private String ipAddress;

    /** 组织ID */
    @Excel(name = "组织ID")
    private Long orgId;

    public void setBrowseId(Long browseId) 
    {
        this.browseId = browseId;
    }

    public Long getBrowseId() 
    {
        return browseId;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setUserName(String userName) 
    {
        this.userName = userName;
    }

    public String getUserName() 
    {
        return userName;
    }

    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }

    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }

    public void setProductImage(String productImage) 
    {
        this.productImage = productImage;
    }

    public String getProductImage() 
    {
        return productImage;
    }

    public void setProductPrice(BigDecimal productPrice) 
    {
        this.productPrice = productPrice;
    }

    public BigDecimal getProductPrice() 
    {
        return productPrice;
    }

    public void setBrowseTime(Date browseTime) 
    {
        this.browseTime = browseTime;
    }

    public Date getBrowseTime() 
    {
        return browseTime;
    }

    public void setBrowseDuration(Integer browseDuration) 
    {
        this.browseDuration = browseDuration;
    }

    public Integer getBrowseDuration() 
    {
        return browseDuration;
    }

    public void setDeviceType(String deviceType) 
    {
        this.deviceType = deviceType;
    }

    public String getDeviceType() 
    {
        return deviceType;
    }

    public void setIpAddress(String ipAddress) 
    {
        this.ipAddress = ipAddress;
    }

    public String getIpAddress() 
    {
        return ipAddress;
    }

    public void setOrgId(Long orgId) 
    {
        this.orgId = orgId;
    }

    public Long getOrgId() 
    {
        return orgId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("browseId", getBrowseId())
            .append("userId", getUserId())
            .append("productId", getProductId())
            .append("productName", getProductName())
            .append("productImage", getProductImage())
            .append("productPrice", getProductPrice())
            .append("browseTime", getBrowseTime())
            .append("browseDuration", getBrowseDuration())
            .append("deviceType", getDeviceType())
            .append("ipAddress", getIpAddress())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}